Skip to content

[#173] Removed deprecated 'fullscreen_algorithm' option.#205

Merged
AlexSkrypnyk merged 1 commit intomainfrom
feature/173-rm-fullscreen-algo
Apr 7, 2026
Merged

[#173] Removed deprecated 'fullscreen_algorithm' option.#205
AlexSkrypnyk merged 1 commit intomainfrom
feature/173-rm-fullscreen-algo

Conversation

@AlexSkrypnyk
Copy link
Copy Markdown
Member

@AlexSkrypnyk AlexSkrypnyk commented Apr 7, 2026

Summary

  • Removed the deprecated fullscreen_algorithm configuration option and all stitch algorithm code
  • Removed getScreenshotFullscreenWithStitching() and stitchImages() methods from ScreenshotContext
  • Removed $fullscreen_algorithm parameter from setScreenshotParameters() across interface, context, and initializer
  • Consolidated duplicate stitch/resize Behat test scenarios into single fullscreen scenarios
  • Updated README, behat.yml.dist, and all unit tests

Test plan

  • All 97 PHPUnit tests pass
  • Behat BDD tests pass (require Selenium container)
  • Verify users with fullscreen_algorithm in behat.yml get a clear config error on upgrade

Closes #173

Summary by CodeRabbit

  • Configuration Changes

    • Removed the fullscreen_algorithm configuration option. Fullscreen screenshots now exclusively use the resize algorithm; the stitch algorithm is no longer available.
  • Documentation

    • Updated all documentation to reflect fullscreen screenshot simplification, removing references to algorithm selection and configuration options.
  • Refactor

    • Simplified fullscreen screenshot capture implementation by removing unused code and configuration parameters.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 7, 2026

Caution

Review failed

Pull request was closed or merged during review

📝 Walkthrough

Walkthrough

This PR removes the deprecated fullscreen_algorithm configuration option throughout the codebase. It eliminates the parameter from service configuration, constructor signatures, and method interfaces. The stitching-based fullscreen screenshot implementation is removed entirely, leaving only the resize-based approach. Documentation and tests are updated accordingly.

Changes

Cohort / File(s) Summary
Documentation Updates
CLAUDE.md, README.md
Removed references to configurable fullscreen screenshot algorithms (stitch and resize). Updated documentation to state that fullscreen screenshots only use the resize algorithm.
Configuration
behat.yml.dist
Removed fullscreen_algorithm: resize configuration from the BehatScreenshotExtension settings.
Core Implementation
src/DrevOps/BehatScreenshotExtension/ServiceContainer/BehatScreenshotExtension.php, src/DrevOps/BehatScreenshotExtension/Context/Initializer/ScreenshotContextInitializer.php, src/DrevOps/BehatScreenshotExtension/Context/ScreenshotAwareContextInterface.php, src/DrevOps/BehatScreenshotExtension/Context/ScreenshotContext.php
Removed $fullscreenAlgorithm parameter from constructor signatures and method interfaces. Deleted stitching-based fullscreen implementation and stitchImages() helper method. getScreenshotFullscreen() now always delegates to getScreenshotFullscreenWithResize().
Tests
tests/behat/features/screenshot_behatcli.feature, tests/phpunit/Unit/BehatScreenshotExtensionTest.php, tests/phpunit/Unit/Context/Initializer/ScreenshotContextInitializerTest.php, tests/phpunit/Unit/ScreenshotContextInfoTest.php, tests/phpunit/Unit/ScreenshotContextResizeTest.php, tests/phpunit/Unit/ScreenshotContextTest.php
Removed fullscreen_algorithm parameter from test configurations and method calls. Updated expected configuration node counts. Deleted test scenarios explicitly testing stitch algorithm behavior and updated fullscreen output artifact references from fullscreen-stitch and fullscreen-short-stitch to fullscreen and fullscreen-short.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~15 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 75.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: removal of the deprecated 'fullscreen_algorithm' option, which is the primary objective across all modified files.
Linked Issues check ✅ Passed All code changes comprehensively address issue #173: the deprecated 'fullscreen_algorithm' configuration and stitching algorithm code have been removed from the codebase, including API parameters, methods, tests, and documentation.
Out of Scope Changes check ✅ Passed All changes are directly related to removing the deprecated 'fullscreen_algorithm' option and associated stitch algorithm code, with no unrelated modifications introduced.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/173-rm-fullscreen-algo

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 7, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.10%. Comparing base (bd94117) to head (0eb2032).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #205       +/-   ##
===========================================
+ Coverage   69.69%   97.10%   +27.40%     
===========================================
  Files           4        4               
  Lines         396      276      -120     
===========================================
- Hits          276      268        -8     
+ Misses        120        8      -112     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@AlexSkrypnyk AlexSkrypnyk merged commit bf89349 into main Apr 7, 2026
6 of 7 checks passed
@AlexSkrypnyk AlexSkrypnyk deleted the feature/173-rm-fullscreen-algo branch April 7, 2026 23:38
@AlexSkrypnyk AlexSkrypnyk added this to the 2.3 milestone Apr 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove deprecatedfullscreen_algorithm option in 2.3

1 participant